package com.iflytek.exam.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.iflytek.common.annotation.Excel;
import com.iflytek.common.core.domain.BaseEntity;

/**
 * 创建考试基本信息对象 tb_exam
 *
 * @author Dogdog
 * @date 2024-07-08
 */
public class CreateExam extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 试卷 */
    @Excel(name = "试卷")
    private Long id;

    /** 考试标题 */
    @Excel(name = "考试标题")
    private String name;

    /** 考试说明 */
    @Excel(name = "考试说明")
    private String info;

    /** 考试开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 考试答题允许时间 */
    @Excel(name = "考试答题允许时间")
    private Long time;

    /** 考试结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 考试满分 */
    @Excel(name = "考试满分")
    private Long totalScore;

    /** 及格线 */
    @Excel(name = "及格线")
    private Long passLine;

    /** 每个单选分数 */
    private Long singleScore;

    /** 每个多选分数 */
    private Long multipleScore;

    /** 每个判断分数 */
    private Long judgeScore;

    /** 每个简答分数 */
    private Long shortAnswerScore;

    /** 考试标题图片 */
    private String img;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setInfo(String info)
    {
        this.info = info;
    }

    public String getInfo()
    {
        return info;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setTime(Long time)
    {
        this.time = time;
    }

    public Long getTime()
    {
        return time;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setTotalScore(Long totalScore)
    {
        this.totalScore = totalScore;
    }

    public Long getTotalScore()
    {
        return totalScore;
    }
    public void setPassLine(Long passLine)
    {
        this.passLine = passLine;
    }

    public Long getPassLine()
    {
        return passLine;
    }
    public void setSingleScore(Long singleScore)
    {
        this.singleScore = singleScore;
    }

    public Long getSingleScore()
    {
        return singleScore;
    }
    public void setMultipleScore(Long multipleScore)
    {
        this.multipleScore = multipleScore;
    }

    public Long getMultipleScore()
    {
        return multipleScore;
    }
    public void setJudgeScore(Long judgeScore)
    {
        this.judgeScore = judgeScore;
    }

    public Long getJudgeScore()
    {
        return judgeScore;
    }
    public void setShortAnswerScore(Long shortAnswerScore)
    {
        this.shortAnswerScore = shortAnswerScore;
    }

    public Long getShortAnswerScore()
    {
        return shortAnswerScore;
    }
    public void setImg(String img)
    {
        this.img = img;
    }

    public String getImg()
    {
        return img;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("info", getInfo())
            .append("startTime", getStartTime())
            .append("time", getTime())
            .append("endTime", getEndTime())
            .append("totalScore", getTotalScore())
            .append("passLine", getPassLine())
            .append("singleScore", getSingleScore())
            .append("multipleScore", getMultipleScore())
            .append("judgeScore", getJudgeScore())
            .append("shortAnswerScore", getShortAnswerScore())
            .append("img", getImg())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
